package com.s10.ecloud.web.service;

import java.util.List;

import com.s10.ecloud.web.model.IndividualUser;
import com.s10.ecloud.web.model.Role;
import com.s10.ecloud.web.model.SystemUser;
import com.s10.ecloud.web.model.User;

public interface IUserService<U extends User> {

	public String userLogin(SystemUser user);

	public int userRegister(SystemUser user, IndividualUser userinfo, int depid);

	public SystemUser findUserbyUsername(String username);

	public IndividualUser findUserinfo(SystemUser user);

	public void modifyUserinfo(String name, String gender, String email,
			String pid, String phone, SystemUser user);

	public void modifyUserRights(String username, String right);

	public String modifyUserPwd(int userId, String password);

	public List findAllUser();

	public List findAllUserByDep(SystemUser user);

	public List findAllUserByRight(String right);

	public void recoverUserstateByUsername(String username);

	public void freezeUserstateByUsername(String username);

	public U getUser(U user);

	public U updateUser(U user);

	public U addUser(U user);

	public int getUserCountByEmail(String userName);

	public User updateActiveUser(int id, String PersonalID);

	public List<User> getEntUserByCommerceNo(String commerceNo);

	public Role getRoleById(int id);
}
